]> git.pld-linux.org Git - packages/TiMidity++.git/blob - TiMidity++.spec
- updated detach,configure patches
[packages/TiMidity++.git] / TiMidity++.spec
1 #
2 # Conditional build:
3 %bcond_without  x       # without X based interfaces (implies libX11 deps)
4 %bcond_without  alsa    # without ALSA support
5 %bcond_without  ao      # enable ao support
6 %bcond_with     arts    # enable ARTS support (implies also glib(2) deps)
7 %bcond_with     esd     # enable ESD support
8 %bcond_with     jack    # enable JACK support
9 %bcond_with     nas     # enable NAS support
10 %bcond_with     vorbis  # enable Ogg Vorbis support
11 #
12 Summary:        TiMidity++ - MIDI to WAV converter and player
13 Summary(pl.UTF-8):      TiMidity++ - konwerter do WAV oraz odtwarzacz plików MIDI
14 Summary(pt_BR.UTF-8):   Sintetizador MIDI por software
15 Summary(ru.UTF-8):      Проигрыватель MIDI файлов и конвертор их в WAV формат
16 Summary(uk.UTF-8):      Програвач MIDI-файлів та конвертор їх в WAV формат
17 Name:           TiMidity++
18 Version:        2.15.0
19 Release:        1
20 License:        GPL
21 Group:          Applications/Sound
22 Source0:        http://downloads.sourceforge.net/timidity/%{name}-%{version}.tar.xz
23 # Source0-md5:  d85077febda2c85ffe9f9628023c2667
24 Source1:        http://archive.cs.umbc.edu/pub/midia/instruments.tar.gz
25 # Source1-md5:  4959787a78ee39d44a36185bd303cf20
26 Source2:        britepno.pat.bz2
27 # Source2-md5:  324e265362f812883024b58cf3470d1a
28 Source3:        pistol.pat.bz2
29 # Source3-md5:  f961325db679de6e0ea402ebe6a268f9
30 Source4:        timidity.cfg
31 Source5:        timidity.init
32 Source6:        timidity.sysconfig
33 Source7:        timidity-modules-load.conf
34 Source8:        timidity.service
35 Patch0:         %{name}-detach.patch
36 Patch2:         %{name}-configure.patch
37 URL:            http://timidity.sourceforge.net/
38 %{?with_alsa:BuildRequires:     alsa-lib-devel}
39 %{?with_arts:BuildRequires:     arts-devel}
40 BuildRequires:  autoconf
41 %{?with_esd:BuildRequires:      esound-devel}
42 %{?with_x:BuildRequires:        gtk+-devel}
43 %{?with_jack:BuildRequires:     jack-audio-connection-kit-devel}
44 %{?with_ao:BuildRequires:       libao-devel}
45 %{?with_vorbis:BuildRequires:   libvorbis-devel}
46 %{?with_x:BuildRequires:        motif-devel}
47 %{?with_nas:BuildRequires:      nas-devel}
48 BuildRequires:  ncurses-devel
49 BuildRequires:  rpmbuild(macros) >= 1.626
50 BuildRequires:  slang-devel >= 2.0.0
51 %{?with_x:BuildRequires:        tk-devel >= 8.3.2}
52 %{?with_x:Provides:     %{name}(X) = %{version}-%{release}}
53 Obsoletes:      timidity
54 Obsoletes:      timidity++
55 Obsoletes:      timidity++-X11
56 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
57
58 %description
59 TiMidity++ is a converter that converts some of MIDI files ( formats :
60 Standard MIDI file (MID), Recomposer files (RCP, R36, G18, G36) and
61 Module file (mod) ) into formatted audio file (ex. RIFF WAVE).
62 TiMidity uses Gravis Ultrasound-compatible patch files or Soundfonts
63 (sfx, sf2) to generate digital audio data from MIDI files. The digital
64 audio data generated by TiMidity can be stored in a file for
65 processing, or played in real time through an audio device. In real
66 time playing, TiMidity if able to show the lyric contained in KAR file
67 or WRD file.
68
69 %description -l pl.UTF-8
70 TiMidity++ jest konwerterem z niektórych plików MIDI (formaty:
71 Standard MIDI (MID), Recomposer (RCP, R36, G18, G36), Module (mod)) do
72 plików audio (np. RIFF WAVE). Do generowania danych z plików MIDI
73 TiMidity używa patchy takich jak Gravis Ultrasound albo Soundfontów
74 (sfx, sf2). Cyfrowe dane audio mogą być zapisane do pliku albo
75 odtwarzane w czasie rzeczywistym. Przy odtwarzaniu TiMidity może
76 pokazywać słowa zawarte w pliku KAR lub WRD.
77
78 %description -l pt_BR.UTF-8
79 O TiMidity++ é um sintetizador MIDI por software. Este pacote permite
80 ouvir arquivos do tipo MIDI com a mesma qualidade de som que as placas
81 que utilizam o recurso de "wavetable" via hardware (como a AWE32),
82 mesmo que esta não possua o recurso de "wavetable" (a SB16 por
83 exemplo).
84
85 %description -l ru.UTF-8
86 Проигрыватель MIDI файлов, не требующий поддержки инструментов MIDI
87 звуковой платой. Использует файлы инструментов в формате GUS/patch,
88 может также использовать данные в формате SoundFont. Обеспечивает
89 отличное качество звука MIDI за счет интенсивного использования
90 процессора.
91
92 %description -l uk.UTF-8
93 Програвач MIDI файлів, якому не потрібна підтримка інструментів MIDI
94 звуковою платою. Використовує файли інструментів у форматі GUS/patch,
95 розуміє також формат SoundFont. Забезпечує відмінну якість звуку MIDI
96 за рахунок інтенсивного використання процесора.
97
98 %package gspdir
99 Summary:        Directory for TiMidity++ instruments
100 Summary(pl.UTF-8):      Katalog na instrumenty TiMidity++
101 Group:          Applications/Sound
102
103 %description gspdir
104 Directory where TiMidity++ instruments should be placed in.
105
106 %description gspdir -l pl.UTF-8
107 Katalog, w którym powinny być instalowane instrumenty dla TiMidity++.
108
109 %package instruments
110 Summary:        Instruments for TiMidity++
111 Summary(pl.UTF-8):      Instrumenty dla TiMidity++
112 Summary(pt_BR.UTF-8):   Instrumentos básicos para o TiMidity++
113 Group:          Applications/Sound
114 Requires:       %{name}-gspdir = %{version}-%{release}
115 Obsoletes:      timidity-patches
116
117 %description instruments
118 Instruments for TiMidity++.
119
120 %description instruments -l pl.UTF-8
121 Instrumenty dla TiMidity++.
122
123 %description instruments -l pt_BR.UTF-8
124 Este pacote inclui um conjunto básico de instrumentos (chamados de
125 patches no meio musical) para o TiMidity++.
126
127 %package gtk
128 Summary:        GTK+ interface for TiMidity++
129 Summary(pl.UTF-8):      Interfejs TiMidity++ oparty o bibliotekę GTK+
130 Group:          Applications/Sound
131 Requires:       %{name}(X) = %{version}-%{release}
132
133 %description gtk
134 gtkmidi - GTK+ interface for TiMidity++.
135
136 %description gtk -l pl.UTF-8
137 gtkmidi - interfejs do TiMidity++ oparty o bibliotekę GTK+.
138
139 %package motif
140 Summary:        Motif interface for TiMidity++
141 Summary(pl.UTF-8):      Interfejs TiMidity++ oparty o Motif
142 Group:          Applications/Sound
143 Requires:       %{name}(X) = %{version}-%{release}
144
145 %description motif
146 xmmidi - Motif interface for TiMidity++.
147
148 %description motif -l pl.UTF-8
149 xmmidi - interfejs do TiMidity++ oparty o bibliotekę Motif.
150
151 %package slang
152 Summary:        Slang interface for TiMidity++
153 Summary(pl.UTF-8):      Interfejs TiMidity++ oparty o bibliotekę Slang
154 Group:          Applications/Sound
155 Requires:       %{name} = %{version}-%{release}
156
157 %description slang
158 Slang interface for TiMidity++.
159
160 %description slang -l pl.UTF-8
161 Interfejs do TiMidity++ oparty o bibliotekę Slang.
162
163 %package tcltk
164 Summary:        Tcl/Tk interface for TiMidity++
165 Summary(pl.UTF-8):      Interfejs TiMidity++ oparty o Tcl/Tk
166 Group:          Applications/Sound
167 Requires:       %{name}(X) = %{version}-%{release}
168
169 %description tcltk
170 tkmidi - Tcl/Tk interface for TiMidity++.
171
172 %description tcltk -l pl.UTF-8
173 tkmidi - interfejs do TiMidity++ oparty o Tcl/Tk.
174
175 %package vt100
176 Summary:        VT100 interface for TiMidity++
177 Summary(pl.UTF-8):      Interfejs TiMidity++ działający na terminalu VT100
178 Group:          Applications/Sound
179 Requires:       %{name} = %{version}-%{release}
180
181 %description vt100
182 VT100 interface for TiMidity++.
183
184 %description vt100 -l pl.UTF-8
185 Interfejs do TiMidity++ mogący działać na terminalu VT100.
186
187 %package xaw
188 Summary:        Athena interface for TiMidity++
189 Summary(pl.UTF-8):      Interfejs TiMidity++ oparty o Athena Widgets
190 Group:          Applications/Sound
191 Requires:       %{name}(X) = %{version}-%{release}
192
193 %description xaw
194 xawmidi - Athena interface for TiMidity++.
195
196 %description xaw -l pl.UTF-8
197 xawmidi - interfejs do TiMidity++ oparty o biblitekę widgetów Athena.
198
199 %package xskin
200 Summary:        "X Skin" interface for TiMidity++
201 Summary(pl.UTF-8):      Interfejs TiMidity++ "X Skin"
202 Group:          Applications/Sound
203 Requires:       %{name}(X) = %{version}-%{release}
204 Obsoletes:      TiMidity++ < 2.13.0-3
205
206 %description xskin
207 xskinmidi - "X Skin" interface for TiMidity++.
208
209 %description xskin -l pl.UTF-8
210 xskinmidi - interfejs do TiMidity++ "X Skin".
211
212 %package alsaseq
213 Summary:        TiMidity++ ALSA sequencer interface
214 Summary(pl.UTF-8):      TiMidity++ jako interfejs sekwencera ALSA
215 Group:          Applications/Sound
216 Requires(post,preun):   /sbin/chkconfig
217 Requires(post,preun,postun):    systemd-units >= 38
218 Requires:       %{name} = %{version}-%{release}
219 Requires:       rc-scripts
220 Requires:       systemd-units >= 38
221
222 %description alsaseq
223 The ALSA sequencer interface communicates between ALSA sequencer core
224 and timidity. The interface receives events from sequencer and plays
225 it in (quasi-)real-time. In this mode, TiMidity works purely as the
226 software real-time MIDI render, that is as a software MIDI synth
227 engine on ALSA.
228
229 %description alsaseq -l pl.UTF-8
230 Interfejs sekwencera ALSA komunikuje się między rdzeniem sekwencera
231 ALSA a timidity. Interfejs odbiera zdarzenia od sekwencera od odtwarza
232 je w czasie (prawie) rzeczywistym. W tym trybie TiMidity działa
233 wyłącznie jako programowy odtwarzacz MIDI czasu rzeczywistego, czyli
234 jako silnik syntezatora MIDI w architekturze ALSA.
235
236 %prep
237 %setup -q
238 %patch0 -p1
239 %patch2 -p1
240
241 for f in doc/ja_JP.eucJP/README*; do
242         %{__mv} $f ${f}.ja
243 done
244
245 %build
246 cp -f /usr/share/automake/config.sub autoconf
247 %{__autoconf}
248
249 AUDIO=oss%{?with_alsa:,alsa}%{?with_arts:,arts}%{?with_esd:,esd}\
250 %{?with_jack:,jack}%{?with_nas:,nas}%{?with_vorbis:,vorbis}%{?with_ao:,ao}
251
252 %configure \
253         CPPFLAGS="-DUSE_INTERP_RESULT %{rpmcppflags}" \
254         %{?with_alsa:--enable-alsaseq} \
255         --enable-audio=$AUDIO \
256         --enable-dynamic \
257         %{?with_x:--enable-gtk=dynamic} \
258         --enable-emacs=dynamic \
259         %{?with_x:--enable-motif=dynamic} \
260         --enable-ncurses=dynamic \
261         --enable-network \
262         --enable-server \
263         --enable-slang=dynamic \
264         %{?with_x:--enable-spectrogram} \
265         %{?with_x:--enable-tcltk=dynamic} \
266         --enable-vt100=dynamic \
267         %{?with_x:--enable-xaw=dynamic} \
268         %{?with_x:--enable-xskin=dynamic} \
269         --with-default-path=%{_sysconfdir} \
270         --with-elf \
271         %{!?with_x:--without-x}
272
273 %{__make} \
274         SHLIB_DIR=%{_libdir}/timidity
275
276 %install
277 rm -rf $RPM_BUILD_ROOT
278 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_datadir}/GUSpatches,/etc/{rc.d/init.d,sysconfig}} \
279         $RPM_BUILD_ROOT{%{systemdunitdir},/etc/modules-load.d}
280
281 %{__make} install \
282         DESTDIR=$RPM_BUILD_ROOT \
283         SHLIB_DIR=%{_libdir}/timidity
284
285 ## based on timidity/timidity.c
286 ##ln -s timidity $RPM_BUILD_ROOT%{_bindir}/kmidi # does it work?
287 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/gtkmidi
288 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/tkmidi
289 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xmmidi
290 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xawmidi
291 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xskinmidi
292
293 install -d $RPM_BUILD_ROOT%{_mandir}/ja/man{1,5}
294 install doc/ja_JP.eucJP/timidity.1 $RPM_BUILD_ROOT%{_mandir}/ja/man1
295 install doc/ja_JP.eucJP/timidity.cfg.5 $RPM_BUILD_ROOT%{_mandir}/ja/man5
296
297 install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}
298
299 cd $RPM_BUILD_ROOT%{_datadir}/GUSpatches
300 tar xzf %{SOURCE1}
301 %{__mv} instruments/* .
302 rmdir instruments
303 bzip2 -cd %{SOURCE2} > britepno.pat
304 bzip2 -cd %{SOURCE3} > pistol.pat
305
306 install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/timidity
307 install %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/timidity
308
309 install %{SOURCE7} $RPM_BUILD_ROOT/etc/modules-load.d/timidity.conf
310 install %{SOURCE8} $RPM_BUILD_ROOT%{systemdunitdir}/timidity.service
311
312 %clean
313 rm -rf $RPM_BUILD_ROOT
314
315 %post alsaseq
316 /sbin/chkconfig --add timidity
317 %service timidity restart "TiMidity++ ALSA sequencer interface"
318 %systemd_post timidity.service
319
320 %preun alsaseq
321 if [ "$1" = "0" ]; then
322         %service timidity stop
323         /sbin/chkconfig --del timidity
324 fi
325 %systemd_preun timidity.service
326
327 %postun alsaseq
328 %systemd_reload
329
330 %triggerpostun alsaseq -- %{name}-alsaseq < 2.13.2-8
331 %systemd_trigger timidity.service
332
333 %files
334 %defattr(644,root,root,755)
335 %doc AUTHORS ChangeLog* NEWS README TODO doc/C/{CHANGES*,FAQ,README.[!tx]*}
336 %lang(ja) %doc README.ja doc/ja_JP.eucJP/README.[!tx]*.ja
337 %attr(755,root,root) %{_bindir}/timidity
338 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/timidity.cfg
339 %dir %{_libdir}/timidity
340 %attr(755,root,root) %{_libdir}/timidity/if_emacs.so
341 %attr(755,root,root) %{_libdir}/timidity/if_ncurses.so
342 %if "%{_lib}" != "lib"
343 %dir %{_prefix}/lib/timidity
344 %endif
345 #%{?with_x:%{_prefix}/lib/timidity/bitmaps}
346 %{_mandir}/man1/timidity.1*
347 %{_mandir}/man5/timidity.cfg.5*
348 %lang(ja) %{_mandir}/ja/man1/timidity.1*
349 %lang(ja) %{_mandir}/ja/man5/timidity.cfg.5*
350
351 %files gspdir
352 %defattr(644,root,root,755)
353 %dir %{_datadir}/GUSpatches
354
355 %files instruments
356 %defattr(644,root,root,755)
357 %{_datadir}/GUSpatches/*
358
359 %if %{with x}
360 %files gtk
361 %defattr(644,root,root,755)
362 %attr(755,root,root) %{_bindir}/gtkmidi
363 %attr(755,root,root) %{_libdir}/timidity/if_gtk.so
364 %endif
365
366 %if %{with x}
367 %files motif
368 %defattr(644,root,root,755)
369 %attr(755,root,root) %{_bindir}/xmmidi
370 %attr(755,root,root) %{_libdir}/timidity/if_motif.so
371 %endif
372
373 %files slang
374 %defattr(644,root,root,755)
375 %attr(755,root,root) %{_libdir}/timidity/if_slang.so
376
377 %if %{with x}
378 %files tcltk
379 %defattr(644,root,root,755)
380 %doc doc/C/README.tk
381 %lang(ja) %doc doc/ja_JP.eucJP/README.tk.ja
382 %attr(755,root,root) %{_bindir}/tkmidi
383 %attr(755,root,root) %{_libdir}/timidity/if_tcltk.so
384 %{_prefix}/lib/timidity/tclIndex
385 %{_prefix}/lib/timidity/*.tcl
386 %endif
387
388 %files vt100
389 %defattr(644,root,root,755)
390 %attr(755,root,root) %{_libdir}/timidity/if_vt100.so
391
392 %if %{with x}
393 %files xaw
394 %defattr(644,root,root,755)
395 %doc doc/C/README.xaw
396 %lang(ja) %doc doc/ja_JP.eucJP/README.xaw.ja
397 %attr(755,root,root) %{_bindir}/xawmidi
398 %attr(755,root,root) %{_libdir}/timidity/if_xaw.so
399
400 %files xskin
401 %defattr(644,root,root,755)
402 %doc doc/C/README.xskin
403 %lang(ja) %doc doc/ja_JP.eucJP/README.xskin.ja
404 %attr(755,root,root) %{_bindir}/xskinmidi
405 %attr(755,root,root) %{_libdir}/timidity/if_xskin.so
406 %endif
407
408 %if %{with alsa}
409 %files alsaseq
410 %defattr(644,root,root,755)
411 %attr(754,root,root) /etc/rc.d/init.d/timidity
412 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/timidity
413 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/timidity.conf
414 %{systemdunitdir}/timidity.service
415 %endif
This page took 0.099263 seconds and 3 git commands to generate.